LINQ Query Syntax হল LINQ কুয়েরি লেখার একটি পদ্ধতি যা SQL-এর মতো দেখতে এবং এটি .NET ভাষার মধ্যে সহজভাবে ডেটা কুয়েরি করার সুযোগ প্রদান করে। এটি from, where, select, orderby এবং group by শব্দগুলি ব্যবহার করে কুয়েরি তৈরি করা হয়, যা SQL কুয়েরির মতোই মনে হয়। LINQ Query Syntax সাধারণত কোডকে পরিষ্কার, রিডেবল এবং সহজবোধ্য করে তোলে।
from: এটি কুয়েরির শুরুতে ব্যবহার করা হয় এবং এর মাধ্যমে ডেটার সোর্সের উপর লুপ করা হয়।
where: এটি শর্তযুক্ত ফিল্টার প্রয়োগ করার জন্য ব্যবহৃত হয়, যা কুয়েরি থেকে নির্দিষ্ট শর্তের ডেটা বাছাই করে।
select: এটি নির্বাচিত ডেটা বা মান ফেরত দেওয়ার জন্য ব্যবহৃত হয়।
orderby: এটি ডেটাকে নির্দিষ্ট ক্রমে সাজানোর জন্য ব্যবহার করা হয়।
group by: এটি ডেটাকে গ্রুপ করতে ব্যবহৃত হয়, সাধারণত নির্দিষ্ট একক মানের ভিত্তিতে।
List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
// Query Syntax ব্যবহার করে even numbers বের করা
var evenNumbers = from num in numbers
where num % 2 == 0
select num;
foreach (var num in evenNumbers)
{
Console.WriteLine(num); // Output: 2, 4, 6, 8, 10
}
এখানে numbers
লিস্টের মধ্যে থেকে even (জোড়) সংখ্যাগুলো বাছাই করা হয়েছে।
List<int> numbers = new List<int> { 1, 9, 3, 5, 7, 8, 4, 6, 2, 10 };
// Query Syntax ব্যবহার করে numbers গুলো ascending order এ সাজানো
var orderedNumbers = from num in numbers
orderby num ascending
select num;
foreach (var num in orderedNumbers)
{
Console.WriteLine(num); // Output: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
}
এখানে orderby ব্যবহার করে ডেটাকে ascending অর্ডারে সাজানো হয়েছে।
List<string> words = new List<string> { "apple", "banana", "avocado", "blueberry", "cherry" };
// Query Syntax ব্যবহার করে শব্দগুলো প্রথম অক্ষরের ভিত্তিতে গ্রুপ করা
var groupedWords = from word in words
group word by word[0] into wordGroup
select wordGroup;
foreach (var group in groupedWords)
{
Console.WriteLine($"Words starting with {group.Key}:");
foreach (var word in group)
{
Console.WriteLine(word);
}
}
এখানে group by ব্যবহার করে শব্দগুলো তাদের প্রথম অক্ষরের ভিত্তিতে গ্রুপ করা হয়েছে।
List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6 };
// Query Syntax ব্যবহার করে numbers গুলোকে দ্বিগুণ করে নির্বাচন করা
var doubledNumbers = from num in numbers
select num * 2;
foreach (var num in doubledNumbers)
{
Console.WriteLine(num); // Output: 2, 4, 6, 8, 10, 12
}
এখানে select ব্যবহার করে প্রতিটি সংখ্যার দ্বিগুণ (double) মান বের করা হয়েছে।
List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6 };
// Query Syntax ব্যবহার করে number 3 এর বেশি হতে হবে এবং even হতে হবে এমন সংখ্যা বের করা
var result = from num in numbers
where num > 3 && num % 2 == 0
select num;
foreach (var num in result)
{
Console.WriteLine(num); // Output: 4, 6
}
এখানে where শর্ত ব্যবহার করা হয়েছে যাতে কেবল 3 এর বেশি এবং even সংখ্যাগুলি নির্বাচন করা হয়।
SQL-এর মতো সিনট্যাক্স: LINQ Query Syntax SQL এর মতো দেখতে হওয়ায়, SQL জানেন এমন ডেভেলপারদের জন্য এটি খুবই পরিচিত এবং সহজ।
রিডেবল এবং পরিষ্কার: LINQ Query Syntax কোডকে সহজে পড়া এবং বোঝা যায়।
বেশি কাস্টমাইজেশন: জটিল কুয়েরি যেমন গ্রুপিং, অর্ডারিং, এবং ফিল্টারিং করা খুব সহজ।
টাইপ সেফটি: LINQ Query Syntax টাইপ সেফ, তাই কম্পাইল টাইমে ত্রুটি ধরা যায়।
প্ল্যানিং: কিছু জটিল কুয়েরি যখন খুব বড় বা উচ্চমানের হতে থাকে, তখন LINQ Method Syntax আরো বেশি কার্যকরী হতে পারে।
কিছু ডেটাবেস ফিচার সমর্থন: LINQ Query Syntax সব ধরনের SQL কুয়েরির ফিচার সমর্থন নাও করতে পারে, যেমন কিছু জটিল SQL ফাংশন।
কার্যকারিতা: কিছু বড় এবং জটিল কুয়েরি প্রয়োগে Query Syntax কিছুটা ধীর হতে পারে।
LINQ Query Syntax হল LINQ এর একটি সহজ এবং SQL-এর মতো দেখতে পদ্ধতি, যা ডেটা কুয়েরি করার জন্য ব্যবহার করা হয়। এটি from, where, select, orderby, এবং group by মতো SQL-অনুপ্রাণিত কিওয়ার্ড ব্যবহার করে কোড লেখা সহজ এবং পরিষ্কার করে তোলে। LINQ Query Syntax ব্যবহারের মাধ্যমে ডেভেলপাররা সহজে ডেটার ফিল্টারিং, অর্ডারিং, গ্রুপিং এবং সিলেকশন করতে পারেন।
common.read_more